package _05_Interface;

/**
 * 默认方法
 * 
 * @author lenovo
 * @date 2020年7月28日 @time 下午3:53:11
 */
public class _01_Interface {

	public static void main(String[] args) {
		MyInter inter = new MyInterlmpl();
		System.out.println(inter.add(2, 1));
		inter.printMessage();
//		3
//		子类覆写的默认方法

		MyInter inter1 = (x, y) -> x + y;
		System.out.println(inter.add(2, 3));
		inter1.printMessage();
//		5
//		接口中的默认方法

	}

}

interface MyInter {
	int add(int i, int j);

	default void printMessage() {
		System.out.println("接口中的默认方法");
	}
}

class MyInterlmpl implements MyInter {

	@Override
	public int add(int i, int j) {
		// TODO Auto-generated method stub
		return i + j;
	}

	@Override
	public void printMessage() {
		// 直接使用 super 是找继承的父类
		// 那么如何调用接口中的默认方法呢? 使用接口名.super.方法();
		// MyInter.super.printMessage();

		System.out.println("子类覆写的默认方法");
	}
}